libfsimage: Support for zfs version 16.
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 6 Jul 2009 10:42:05 +0000 (11:42 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 6 Jul 2009 10:42:05 +0000 (11:42 +0100)
Remove version checks to support boot of ZFS root filesystem version
16.

Signed-off-by: Susan Kamm-Worrell <susan.kamm-worrell@sun.com>
tools/libfsimage/zfs/fsys_zfs.c
tools/libfsimage/zfs/zfs-include/dmu_objset.h
tools/libfsimage/zfs/zfs-include/zfs.h
tools/libfsimage/zfs/zfs-include/zfs_znode.h

index 0e4e6aeeaff92a098e4c5c200268f89b18957943..f398632c98cdf756d165e17d56a72ffd1b9301b6 100644 (file)
@@ -297,8 +297,7 @@ uberblock_verify(uberblock_phys_t *ub, int offset)
        if (zio_checksum_verify(&bp, (char *)ub, UBERBLOCK_SIZE) != 0)
                return (-1);
 
-       if (uber->ub_magic == UBERBLOCK_MAGIC &&
-           uber->ub_version > 0 && uber->ub_version <= SPA_VERSION)
+       if (uber->ub_magic == UBERBLOCK_MAGIC && uber->ub_version > 0)
                return (0);
 
        return (-1);
@@ -761,8 +760,6 @@ dnode_get_path(fsi_file_t *ffi, dnode_phys_t *mdn, char *path,
 
        if ((errnum = zap_lookup(ffi, dn, ZPL_VERSION_STR, &version, stack)))
                return (errnum);
-       if (version > ZPL_VERSION)
-               return (-1);
 
        if ((errnum = zap_lookup(ffi, dn, ZFS_ROOT_OBJ, &objnum, stack)))
                return (errnum);
index 9ddc4814e00e8651a773eab1be32d21791c93ff2..8d1cf8ea33b5316ebbacd7da5f74a0b8e6e5fba9 100644 (file)
@@ -17,7 +17,7 @@
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 /*
- * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -28,8 +28,11 @@ typedef struct objset_phys {
        dnode_phys_t os_meta_dnode;
        zil_header_t os_zil_header;
        uint64_t os_type;
-       char os_pad[1024 - sizeof (dnode_phys_t) - sizeof (zil_header_t) -
-           sizeof (uint64_t)];
+       uint64_t os_flags;
+       char os_pad[2048 - sizeof (dnode_phys_t)*3 -
+           sizeof (zil_header_t) - sizeof (uint64_t)*2];
+       dnode_phys_t os_userused_dnode;
+       dnode_phys_t os_groupused_dnode;
 } objset_phys_t;
 
 #endif /* _SYS_DMU_OBJSET_H */
index 3fd679e458b1ef9ccbcdfef681f85c51e3b85e03..5b1463fc4358aacfc6dea78df80a3d7f843d671f 100644 (file)
@@ -17,7 +17,7 @@
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 /*
- * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -28,7 +28,7 @@
 /*
  * On-disk version number.
  */
-#define        SPA_VERSION                     14ULL
+#define        SPA_VERSION                     16ULL
 
 /*
  * The following are configuration names used in the nvlist describing a pool's
index cd18e71b54887690da5eb3c8976c39da2673d9be..199b3a605e608d4eda3abda649b165de2fdc01c7 100644 (file)
@@ -17,7 +17,7 @@
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 /*
- * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -28,7 +28,7 @@
 #define        ZFS_ROOT_OBJ            "ROOT"
 #define        ZPL_VERSION_STR         "VERSION"
 
-#define        ZPL_VERSION             3ULL
+#define        ZPL_VERSION             4ULL
 
 #define        ZFS_DIRENT_OBJ(de) BF64_GET(de, 0, 48)